package com.alameda.service.type;

import com.alameda.common.commonpent.mp.BaseService;
import com.alameda.pojo.type.AdMediaTypeDO;
import com.alameda.type.dto.AdMediaTypeDTO;
import com.alameda.type.vo.AdMediaTypeVO;
import com.alameda.video.vo.ApVideoVO;
import com.baomidou.mybatisplus.core.metadata.IPage;

import java.util.List;

/**
 * 媒体文件分类 业务逻辑层
 *
 * @author Lv
 * @date 2024/07/20
 */
public interface AdMediaTypeService extends BaseService<AdMediaTypeDO> {
    /**
     * 查询媒体文件分类
     *
     * @param adMediaTypeDTO 媒体文件分类信息
     * @return
     */
    IPage<AdMediaTypeVO> loadMediaType(AdMediaTypeDTO adMediaTypeDTO);

    /**
     * 导出excel
     *
     * @param adMediaTypeDTO 媒体文件分类信息
     */
    void export(AdMediaTypeDTO adMediaTypeDTO);

    /**
     * 保存或修改分类
     *
     * @param adMediaTypeDTO 媒体文件分类信息
     * @return
     */
    Boolean saveOrUpdateType(AdMediaTypeDTO adMediaTypeDTO);

    /**
     * 查询分类列表
     *
     * @param adMediaTypeDTO 媒体文件分类信息
     * @return
     */
    List<AdMediaTypeVO> listTypeInfo(AdMediaTypeDTO adMediaTypeDTO);

    /**
     * 通过类型查询视频列表
     *
     * @param adMediaTypeDTO 媒体文件分类信息
     * @return
     */
    List<ApVideoVO> loadMediaByType(AdMediaTypeDTO adMediaTypeDTO);

    /**
     * 通过分类id读取视频id集合
     *
     * @param mediaTypeId 分类id
     * @return
     */
    List<Long> findByMediaTypeId(Long mediaTypeId);

    /**
     * 通过媒体id读取分类信息
     *
     * @param mediaId 媒体id
     * @return
     */
    AdMediaTypeVO findTypeInfoByMediaId(Long mediaId);
}
